#!/bin/bash
##Faili reaalne asukoht: http://viki.pingviin.org/Eestindusskript_Ubuntu_perekonna_Linuxitele 
##Poolik versioon
if [ $UID -ne 0 ]; then
        echo "Kasuta: sudo $0"
	exit
fi
 
# kontrollib, kas $1 on | abil eraldatud $2 liige
function sisaldab()
{
	IFS=$'|'
	for x in $2
	do
		if [ "$x" = "$1" ]; then
			return 1
		fi
	done
 
	return 0
}
 
# paigaldab Bazaari ja Zenity, kui veel pole, ja laadib alla Estobuntu remaster haru
apt-get --assume-yes --force-yes install bzr zenity
rm -r estobuntu-skript
mkdir estobuntu-skript
cd estobuntu-skript
bzr checkout --lightweight http://estobuntu.itcollege.ee/bzr/estobuntu/remaster/oneiric remaster
cd remaster/libraries/customization-profiles/localized_cd
 
# kopib estobuntu skripti, mida edaspidi automaatselt muudetakse
cp customize.estobuntu customize_new.estobuntu
 
# eemaldab käsu, mida ilma UCKta jooksutamisel vaja pole
sed -i -e "/cd \/tmp\/customization-scripts/d" customize_new.estobuntu
 
# ilma kirjeldusteta funktsioonide nimed
funkts=$(sed -n -r -e "s/(^function )([[:upper:]][[:alnum:]_]*)(\(\)).*/\2/gp" customize_new.estobuntu)
 
# kirjeldustega funktsioonide nimed
funkts_desc=$(sed -n -r -e "s/(^function )([[:upper:]][[:alnum:]_]*)(\(\))/\2/gp" customize_new.estobuntu)
 
# kui on kirjeldus olemas, siis näitab seda kasutajaliideses
# kui kirjeldust pole, siis näitab funktsiooni nime
# tagastab kõik linnukestega funktsioonide nimed
IFS=$'\n'
valikud=`for rida in $funkts_desc
do
	echo true
	set -- $rida
	IFS="#"; declare -a andmed=($*) 
	nimi=${andmed[0]%% }
	seletus=${andmed[1]## }
	if [ "$seletus" != "" ]; then
		echo $nimi
		echo $seletus
	else
		echo $nimi
		echo $nimi
	fi
done | zenity --width=600 --height=500 --title="Ubuntu 11.10 Oneiric Ocelot'i eestindusskript" --text="Vali soovitud kohandused siit..." --list --checklist --column="Olek" --column="Nimi" --column="Seletus" --hide-column=2 --hide-header`
 
# kui vajutati "olgu"
if [ $? = 0 ]; then
 
	# mis failis olnud funktsiooninimedest jäeti sisse lülitamata
	# ja tuleb välja kommenteerida
	IFS=$'\n'
	for nimi in $funkts
	do
		`sisaldab $nimi $valikud`
		if [ $? = 0 ]; then
			sed -i -e "s/^[[:space:]]*$nimi[[:space:]]*$/# \0/g" customize_new.estobuntu
		fi
	done
 
	# käivita estobuntu skript (ära käivita, kui tahad seda enne käivitamist sättida)
	chmod +x customize_new.estobuntu
	./customize_new.estobuntu
 
	# väike abi kaardilugeja seadistamiseks, nüüd peaks piisama uuesti ühendamisest
	udevadm control --reload-rules
 
	# uute kasutajate vaikimisi seaded ka aktiivsele kasutajale
	mv ~/.mozilla ~/.mozilla~ # (sest kasutaja pani niikuinii firefoxi käima juba)
	shopt -s dotglob
	cp /etc/skel/* ~
 
	# et parandada LibreOffice'i jama (eeldusel, et see oli paigaldatud)
	chown -hR $USER ~/.libreoffice
	chgrp -hR $USER ~/.libreoffice
 
fi
 
# eemaldada tekitatud rämps (ära eemalda, kui tahad skripti veel ise täiendada)
cd ../../../../..
rm -r estobuntu-skript
